/*
  学习目标：枚举类型
*/

// 文字枚举 - 文字枚举没递增
enum Status2 {
  //  键名命名语义化, 1. 大写开头， 2. 全大写
  UnPass = '',
  Pass = 'pass',
  Draft = '123132',
}

// 数字枚举
// 1. 值可以省略，自动从0开始递增
// 2. 设置了初始值，从初始值开始递增
enum Status {
  UnPass = 10, // 0
  Pass, //1
  Draft, //2
}


function sendArticle(status: Status) {
  console.log('status  ----->  ', status);
}

sendArticle(Status.UnPass);
sendArticle(Status.Pass);
sendArticle(Status.Draft);

// 枚举作用：
// 提供一组可选的取值范围
// 1.文字枚举  -
// 2. 数字枚举
// 2.1 值可以省略，自动递增，默认从0开始递增
// 2.2 设置了初始值，就从初始值开始递增
// 3. 规范
//  3.1 命名语义化
//  3.2 大写开头或者全大写

// 👎异构枚举，不常用，认识即可
enum Status3 {
  UnPass = '1',
  passs = 2,
}
